package com.oxymore.jbnetapi.wow.item;


import com.oxymore.jbnetapi.core.ApiResponse;
import java.util.List;

public class Item extends ApiResponse {

    private int id;
    private int disenchantigSkillRank;
    private String description;
    private String name;
    private String icon;
    private int stackable;
    private int itemBind;
    private List bonusStats;
    private List itemSpells;
    private int buyPrice;
    private int itemClass;
    private int itemSubclass;
    private int containerSlots;
    private GemInfo gemInfo;
    private WeaponInfo weaponInfo;
    private int inventoryType;
    private boolean equippable;
    private int itemLevel;
    private int maxCount;
    private int maxDurability;
    private int minFactionId;
    private int minReputation;
    private int quality;
    private int sellPrice;
    private int requiredLevel;
    private int requiredSkill;
    private int requiredSkillRank;
    private SocketInfo socketInfo;
    private ItemSource itemSource;
    private int baseArmor;
    private boolean hasSockets;
    private boolean isAuctionnable;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getDisenchantigSkillRank() {
        return disenchantigSkillRank;
    }

    public void setDisenchantigSkillRank(int disenchantigSkillRank) {
        this.disenchantigSkillRank = disenchantigSkillRank;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getIcon() {
        return icon;
    }

    public void setIcon(String icon) {
        this.icon = icon;
    }

    public int getStackable() {
        return stackable;
    }

    public void setStackable(int stackable) {
        this.stackable = stackable;
    }

    public int getItemBind() {
        return itemBind;
    }

    public void setItemBind(int itemBind) {
        this.itemBind = itemBind;
    }

    public List getBonusStats() {
        return bonusStats;
    }

    public void setBonusStats(List bonusStats) {
        this.bonusStats = bonusStats;
    }

    public List getItemSpells() {
        return itemSpells;
    }

    public void setItemSpells(List itemSpells) {
        this.itemSpells = itemSpells;
    }

    public int getBuyPrice() {
        return buyPrice;
    }

    public void setBuyPrice(int buyPrice) {
        this.buyPrice = buyPrice;
    }

    public int getItemClass() {
        return itemClass;
    }

    public void setItemClass(int itemClass) {
        this.itemClass = itemClass;
    }

    public int getItemSubclass() {
        return itemSubclass;
    }

    public void setItemSubclass(int itemSubclass) {
        this.itemSubclass = itemSubclass;
    }

    public int getContainerSlots() {
        return containerSlots;
    }

    public void setContainerSlots(int containerSlots) {
        this.containerSlots = containerSlots;
    }

    public WeaponInfo getWeaponInfo() {
        return weaponInfo;
    }

    public void setWeaponInfo(WeaponInfo weaponInfo) {
        this.weaponInfo = weaponInfo;
    }

    public int getInventoryType() {
        return inventoryType;
    }

    public void setInventoryType(int inventoryType) {
        this.inventoryType = inventoryType;
    }

    public boolean isEquippable() {
        return equippable;
    }

    public void setEquippable(boolean equippable) {
        this.equippable = equippable;
    }

    public int getItemLevel() {
        return itemLevel;
    }

    public void setItemLevel(int itemLevel) {
        this.itemLevel = itemLevel;
    }

    public int getMaxCount() {
        return maxCount;
    }

    public void setMaxCount(int maxCount) {
        this.maxCount = maxCount;
    }

    public int getMaxDurability() {
        return maxDurability;
    }

    public void setMaxDurability(int maxDurability) {
        this.maxDurability = maxDurability;
    }

    public int getMinFactionId() {
        return minFactionId;
    }

    public void setMinFactionId(int minFactionId) {
        this.minFactionId = minFactionId;
    }

    public int getMinReputation() {
        return minReputation;
    }

    public void setMinReputation(int minReputation) {
        this.minReputation = minReputation;
    }

    public int getQuality() {
        return quality;
    }

    public void setQuality(int quality) {
        this.quality = quality;
    }

    public int getSellPrice() {
        return sellPrice;
    }

    public void setSellPrice(int sellPrice) {
        this.sellPrice = sellPrice;
    }

    public int getRequiredLevel() {
        return requiredLevel;
    }

    public void setRequiredLevel(int requiredLevel) {
        this.requiredLevel = requiredLevel;
    }

    public int getRequiredSkill() {
        return requiredSkill;
    }

    public void setRequiredSkill(int requiredSkill) {
        this.requiredSkill = requiredSkill;
    }

    public int getRequiredSkillRank() {
        return requiredSkillRank;
    }

    public void setRequiredSkillRank(int requiredSkillRank) {
        this.requiredSkillRank = requiredSkillRank;
    }

    public ItemSource getItemSource() {
        return itemSource;
    }

    public void setItemSource(ItemSource itemSource) {
        this.itemSource = itemSource;
    }

    public int getBaseArmor() {
        return baseArmor;
    }

    public void setBaseArmor(int baseArmor) {
        this.baseArmor = baseArmor;
    }

    public boolean isHasSockets() {
        return hasSockets;
    }

    public void setHasSockets(boolean hasSockets) {
        this.hasSockets = hasSockets;
    }

    public boolean isAuctionnable() {
        return isAuctionnable;
    }

    public void setAuctionnable(boolean isAuctionnable) {
        this.isAuctionnable = isAuctionnable;
    }

    @Override
    public String toString() {
        return "Item [id=" + id + ", disenchantigSkillRank="
                + disenchantigSkillRank + ", description=" + description
                + ", name=" + name + ", icon=" + icon + ", stackable="
                + stackable + ", itemBind=" + itemBind + ", bonusStats="
                + bonusStats + ", itemSpells=" + itemSpells + ", buyPrice="
                + buyPrice + ", itemClass=" + itemClass + ", itemSubclass="
                + itemSubclass + ", containerSlots=" + containerSlots
                + ", weaponInfo=" + weaponInfo + ", inventoryType="
                + inventoryType + ", equippable=" + equippable + ", itemLevel="
                + itemLevel + ", maxCount=" + maxCount + ", maxDurability="
                + maxDurability + ", minFactionId=" + minFactionId
                + ", minReputation=" + minReputation + ", quality=" + quality
                + ", sellPrice=" + sellPrice + ", requiredLevel="
                + requiredLevel + ", requiredSkill=" + requiredSkill
                + ", requiredSkillRank=" + requiredSkillRank + ", socketInfo="
                + socketInfo + ", itemSource=" + itemSource + ", baseArmor="
                + baseArmor + ", hasSockets=" + hasSockets
                + ", isAuctionnable=" + isAuctionnable + "]";
    }

    /**
     * @return the socketInfo
     */
    public SocketInfo getSocketInfo() {
        return socketInfo;
    }

    /**
     * @param socketInfo
     *            the socketInfo to set
     */
    public void setSocketInfo(SocketInfo socketInfo) {
        this.socketInfo = socketInfo;
    }

    /**
     * @return the gemInfo
     */
    public GemInfo getGemInfo() {
        return gemInfo;
    }

    /**
     * @param gemInfo
     *            the gemInfo to set
     */
    public void setGemInfo(GemInfo gemInfo) {
        this.gemInfo = gemInfo;
    }
}
